package xin.petstore.framework.serialnumber.TableSeq;

import java.util.List;
import java.util.Map;


public interface CommonMapper<T, K> {
    //根据主键获取对象
    public T get(K k);

    //新增对象
    public int add(T t);

    //add with map
    public int addWithMap(Map<String, String> map);

    //修改对象
    public int update(T t);

    //修改对象
    public int update(T t, K k);

    //update With Map
    public int updateWithMap(Map<String, String> map);

    //根据主键值删除对象
    public int delete(K k);

    //根据主键值删除对象uid
    public int deleteWithUid(K k);

    //获取对象列表
    public List<T> getListByParam(Map<String, String> map);

    //获取对象列表 无参数
    public List<T> getList();

    //获取对象，根据参数返回Map
    public List<Map> getMapListByParam(Map<String, String> map);

    //无参数返回Map
    public List<Map> getMapList();

    //获取当前Mapper总记录数
    public int getListCount();

    //获取分页记录数
    public List<T> getLimitList(int fromIndex, int pageSize);

    //获取分页记录 Map
    public List<Map> getLimitListMap(int fromIndex, int pageSize);

    //get maxId
    public int getMaxId();

    //get maxId of table
    public int getTabMaxId(String tabName);
}
